export default class Queue {
  constructor() {
    this.items = []; // 使用数组来存储队列中的元素
  }

  // 入队操作，将元素添加到队列的末尾
  enqueue(element) {
    this.items.push(element);
  }

  // 出队操作，移除队列的第一个元素并返回它
  dequeue() {
    if (this.isEmpty()) {
      throw new Error('Queue is empty');
    }
    return this.items.shift();
  }

  // 查看队列的第一个元素
  front() {
    if (this.isEmpty()) {
      throw new Error('Queue is empty');
    }
    return this.items[0];
  }

  // 检查队列是否为空
  isEmpty() {
    return this.items.length === 0;
  }

  // 获取队列的大小
  size() {
    return this.items.length;
  }

  // 清空队列
  clear() {
    this.items = [];
  }

  // 打印队列中的元素
  print() {
    console.log(this.items.toString());
    return this.items.toString();
  }
}